/*
 *
 * (c) Copyright Ascensio System Limited 2010-2018
 *
 * This program is freeware. You can redistribute it and/or modify it under the terms of the GNU 
 * General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html). 
 * In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that 
 * Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
 *
 * THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
 * FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
 *
 * You can contact Ascensio System SIA by email at sales@onlyoffice.com
 *
 * The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display 
 * Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
 *
 * Pursuant to Section 7 § 3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains 
 * relevant author attributions when distributing the software. If the display of the logo in its graphic 
 * form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE" 
 * in every copy of the program you distribute. 
 * Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.
 *
*/


namespace ASC.Xmpp.Core.utils.Idn
{
    public class Composition
    {
        /* jagged Array */

        public static readonly char[][] multiFirst = new[]
                                                         {
                                                             new[]
                                                                 {
                                                                     '\u00C0', '\u00C1', '\u00C2', '\u00C3', '\u0100',
                                                                     '\u0102', '\u0226', '\u00C4', '\u1EA2', '\u00C5',
                                                                     '\u01CD', '\u0200', '\u0202', '\u1EA0', '\u1E00',
                                                                     '\u0104',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E02', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E04', '\u0000',
                                                                     '\u0000', '\u1E06',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0106', '\u0108', '\u0000', '\u0000',
                                                                     '\u0000', '\u010A', '\u0000', '\u0000', '\u0000',
                                                                     '\u010C', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u00C7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E0A', '\u0000', '\u0000', '\u0000',
                                                                     '\u010E', '\u0000', '\u0000', '\u1E0C', '\u0000',
                                                                     '\u0000', '\u1E0E', '\u1E10', '\u1E12',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00C8', '\u00C9', '\u00CA', '\u1EBC', '\u0112',
                                                                     '\u0114', '\u0116', '\u00CB', '\u1EBA', '\u0000',
                                                                     '\u011A', '\u0204', '\u0206', '\u1EB8', '\u0000',
                                                                     '\u0118', '\u0000', '\u0228', '\u1E18', '\u1E1A',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u01F4', '\u011C', '\u0000', '\u1E20',
                                                                     '\u011E', '\u0120', '\u0000', '\u0000', '\u0000',
                                                                     '\u01E6', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0122',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0124', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E22', '\u1E26', '\u0000', '\u0000',
                                                                     '\u021E', '\u0000', '\u0000', '\u1E24', '\u0000',
                                                                     '\u0000', '\u0000', '\u1E28', '\u0000', '\u0000',
                                                                     '\u1E2A',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00CC', '\u00CD', '\u00CE', '\u0128', '\u012A',
                                                                     '\u012C', '\u0130', '\u00CF', '\u1EC8', '\u0000',
                                                                     '\u01CF', '\u0208', '\u020A', '\u1ECA', '\u0000',
                                                                     '\u012E', '\u0000', '\u0000', '\u0000', '\u1E2C',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E30', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u01E8', '\u0000', '\u0000', '\u1E32', '\u0000',
                                                                     '\u0000', '\u1E34', '\u0136',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0139', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u013D', '\u0000', '\u0000', '\u1E36', '\u0000',
                                                                     '\u0000', '\u1E3A', '\u013B', '\u1E3C',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E3E', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E40', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E42',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u01F8', '\u0143', '\u0000', '\u00D1', '\u0000',
                                                                     '\u0000', '\u1E44', '\u0000', '\u0000', '\u0000',
                                                                     '\u0147', '\u0000', '\u0000', '\u1E46', '\u0000',
                                                                     '\u0000', '\u1E48', '\u0145', '\u1E4A',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00D2', '\u00D3', '\u00D4', '\u00D5', '\u014C',
                                                                     '\u014E', '\u022E', '\u00D6', '\u1ECE', '\u0000',
                                                                     '\u01D1', '\u020C', '\u020E', '\u1ECC', '\u0000',
                                                                     '\u01EA', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0150', '\u01A0',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E54', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E56',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0154', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E58', '\u0000', '\u0000', '\u0000',
                                                                     '\u0158', '\u0210', '\u0212', '\u1E5A', '\u0000',
                                                                     '\u0000', '\u1E5E', '\u0156',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u015A', '\u015C', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E60', '\u0000', '\u0000', '\u0000',
                                                                     '\u0160', '\u0000', '\u0000', '\u1E62', '\u0000',
                                                                     '\u0000', '\u0000', '\u015E', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0218',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E6A', '\u0000', '\u0000', '\u0000',
                                                                     '\u0164', '\u0000', '\u0000', '\u1E6C', '\u0000',
                                                                     '\u0000', '\u1E6E', '\u0162', '\u1E70', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u021A',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00D9', '\u00DA', '\u00DB', '\u0168', '\u016A',
                                                                     '\u016C', '\u0000', '\u00DC', '\u1EE6', '\u016E',
                                                                     '\u01D3', '\u0214', '\u0216', '\u1EE4', '\u0000',
                                                                     '\u0172', '\u0000', '\u0000', '\u1E76', '\u1E74',
                                                                     '\u0000', '\u0170', '\u01AF', '\u0000', '\u1E72',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u1E7C', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E7E',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1E80', '\u1E82', '\u0174', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E86', '\u1E84', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E88',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E8A', '\u1E8C',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EF2', '\u00DD', '\u0176', '\u1EF8', '\u0232',
                                                                     '\u0000', '\u1E8E', '\u0178', '\u1EF6', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EF4',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0179', '\u1E90', '\u0000', '\u0000',
                                                                     '\u0000', '\u017B', '\u0000', '\u0000', '\u0000',
                                                                     '\u017D', '\u0000', '\u0000', '\u1E92', '\u0000',
                                                                     '\u0000', '\u1E94',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00E0', '\u00E1', '\u00E2', '\u00E3', '\u0101',
                                                                     '\u0103', '\u0227', '\u00E4', '\u1EA3', '\u00E5',
                                                                     '\u01CE', '\u0201', '\u0203', '\u1EA1', '\u1E01',
                                                                     '\u0105',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E03', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E05', '\u0000',
                                                                     '\u0000', '\u1E07',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0107', '\u0109', '\u0000', '\u0000',
                                                                     '\u0000', '\u010B', '\u0000', '\u0000', '\u0000',
                                                                     '\u010D', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u00E7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E0B', '\u0000', '\u0000', '\u0000',
                                                                     '\u010F', '\u0000', '\u0000', '\u1E0D', '\u0000',
                                                                     '\u0000', '\u1E0F', '\u1E11', '\u1E13',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00E8', '\u00E9', '\u00EA', '\u1EBD', '\u0113',
                                                                     '\u0115', '\u0117', '\u00EB', '\u1EBB', '\u0000',
                                                                     '\u011B', '\u0205', '\u0207', '\u1EB9', '\u0000',
                                                                     '\u0119', '\u0000', '\u0229', '\u1E19', '\u1E1B',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u01F5', '\u011D', '\u0000', '\u1E21',
                                                                     '\u011F', '\u0121', '\u0000', '\u0000', '\u0000',
                                                                     '\u01E7', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0123',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0125', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E23', '\u1E27', '\u0000', '\u0000',
                                                                     '\u021F', '\u0000', '\u0000', '\u1E25', '\u0000',
                                                                     '\u0000', '\u1E96', '\u1E29', '\u0000', '\u0000',
                                                                     '\u1E2B',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00EC', '\u00ED', '\u00EE', '\u0129', '\u012B',
                                                                     '\u012D', '\u0000', '\u00EF', '\u1EC9', '\u0000',
                                                                     '\u01D0', '\u0209', '\u020B', '\u1ECB', '\u0000',
                                                                     '\u012F', '\u0000', '\u0000', '\u0000', '\u1E2D',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0135', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u01F0',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E31', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u01E9', '\u0000', '\u0000', '\u1E33', '\u0000',
                                                                     '\u0000', '\u1E35', '\u0137',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u013A', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u013E', '\u0000', '\u0000', '\u1E37', '\u0000',
                                                                     '\u0000', '\u1E3B', '\u013C', '\u1E3D',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E3F', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E41', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E43',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u01F9', '\u0144', '\u0000', '\u00F1', '\u0000',
                                                                     '\u0000', '\u1E45', '\u0000', '\u0000', '\u0000',
                                                                     '\u0148', '\u0000', '\u0000', '\u1E47', '\u0000',
                                                                     '\u0000', '\u1E49', '\u0146', '\u1E4B',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00F2', '\u00F3', '\u00F4', '\u00F5', '\u014D',
                                                                     '\u014F', '\u022F', '\u00F6', '\u1ECF', '\u0000',
                                                                     '\u01D2', '\u020D', '\u020F', '\u1ECD', '\u0000',
                                                                     '\u01EB', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0151', '\u01A1',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E55', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E57',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0155', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E59', '\u0000', '\u0000', '\u0000',
                                                                     '\u0159', '\u0211', '\u0213', '\u1E5B', '\u0000',
                                                                     '\u0000', '\u1E5F', '\u0157',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u015B', '\u015D', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E61', '\u0000', '\u0000', '\u0000',
                                                                     '\u0161', '\u0000', '\u0000', '\u1E63', '\u0000',
                                                                     '\u0000', '\u0000', '\u015F', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0219',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E6B', '\u1E97', '\u0000', '\u0000',
                                                                     '\u0165', '\u0000', '\u0000', '\u1E6D', '\u0000',
                                                                     '\u0000', '\u1E6F', '\u0163', '\u1E71', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u021B',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u00F9', '\u00FA', '\u00FB', '\u0169', '\u016B',
                                                                     '\u016D', '\u0000', '\u00FC', '\u1EE7', '\u016F',
                                                                     '\u01D4', '\u0215', '\u0217', '\u1EE5', '\u0000',
                                                                     '\u0173', '\u0000', '\u0000', '\u1E77', '\u1E75',
                                                                     '\u0000', '\u0171', '\u01B0', '\u0000', '\u1E73',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u1E7D', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E7F',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1E81', '\u1E83', '\u0175', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E87', '\u1E85', '\u0000', '\u1E98',
                                                                     '\u0000', '\u0000', '\u0000', '\u1E89',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1E8B', '\u1E8D',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EF3', '\u00FD', '\u0177', '\u1EF9', '\u0233',
                                                                     '\u0000', '\u1E8F', '\u00FF', '\u1EF7', '\u1E99',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EF5',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u017A', '\u1E91', '\u0000', '\u0000',
                                                                     '\u0000', '\u017C', '\u0000', '\u0000', '\u0000',
                                                                     '\u017E', '\u0000', '\u0000', '\u1E93', '\u0000',
                                                                     '\u0000', '\u1E95',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FED', '\u0385', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FC1',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EA6', '\u1EA4', '\u0000', '\u1EAA', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EA8',
                                                                 },
                                                             new[] {'\u0000', '\u01FC', '\u0000', '\u0000', '\u01E2',},
                                                             new[]
                                                                 {
                                                                     '\u1EC0', '\u1EBE', '\u0000', '\u1EC4', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EC2',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1ED2', '\u1ED0', '\u0000', '\u1ED6', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1ED4',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E4C', '\u0000', '\u0000', '\u022C',
                                                                     '\u0000', '\u0000', '\u1E4E',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u01DB', '\u01D7', '\u0000', '\u0000', '\u01D5',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u01D9',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EA7', '\u1EA5', '\u0000', '\u1EAB', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EA9',
                                                                 },
                                                             new[] {'\u0000', '\u01FD', '\u0000', '\u0000', '\u01E3',},
                                                             new[]
                                                                 {
                                                                     '\u1EC1', '\u1EBF', '\u0000', '\u1EC5', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EC3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1ED3', '\u1ED1', '\u0000', '\u1ED7', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1ED5',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u1E4D', '\u0000', '\u0000', '\u022D',
                                                                     '\u0000', '\u0000', '\u1E4F',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u01DC', '\u01D8', '\u0000', '\u0000', '\u01D6',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u01DA',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EB0', '\u1EAE', '\u0000', '\u1EB4', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EB2',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EB1', '\u1EAF', '\u0000', '\u1EB5', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EB3',
                                                                 },
                                                             new[] {'\u1E14', '\u1E16',},
                                                             new[] {'\u1E15', '\u1E17',},
                                                             new[] {'\u1E50', '\u1E52',},
                                                             new[] {'\u1E51', '\u1E53',},
                                                             new[]
                                                                 {
                                                                     '\u1EDC', '\u1EDA', '\u0000', '\u1EE0', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EDE', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EE2',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EDD', '\u1EDB', '\u0000', '\u1EE1', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EDF', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EE3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EEA', '\u1EE8', '\u0000', '\u1EEE', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EEC', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EF0',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1EEB', '\u1EE9', '\u0000', '\u1EEF', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EED', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u1EF1',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FBA', '\u0386', '\u0000', '\u0000', '\u1FB9',
                                                                     '\u1FB8', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F08', '\u1F09', '\u1FBC',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FC8', '\u0388', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F18', '\u1F19',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FCA', '\u0389', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F28', '\u1F29', '\u1FCC',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FDA', '\u038A', '\u0000', '\u0000', '\u1FD9',
                                                                     '\u1FD8', '\u0000', '\u03AA', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F38', '\u1F39',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FF8', '\u038C', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F48', '\u1F49',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FEA', '\u038E', '\u0000', '\u0000', '\u1FE9',
                                                                     '\u1FE8', '\u0000', '\u03AB', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u1F59',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FFA', '\u038F', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F68', '\u1F69', '\u1FFC',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F70', '\u03AC', '\u0000', '\u0000', '\u1FB1',
                                                                     '\u1FB0', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FB6', '\u1F00', '\u1F01', '\u1FB3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F72', '\u03AD', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F10', '\u1F11',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F74', '\u03AE', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FC6', '\u1F20', '\u1F21', '\u1FC3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F76', '\u03AF', '\u0000', '\u0000', '\u1FD1',
                                                                     '\u1FD0', '\u0000', '\u03CA', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FD6', '\u1F30', '\u1F31',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F78', '\u03CC', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1F40', '\u1F41',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u1FE4', '\u1FE5',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F7A', '\u03CD', '\u0000', '\u0000', '\u1FE1',
                                                                     '\u1FE0', '\u0000', '\u03CB', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FE6', '\u1F50', '\u1F51',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F7C', '\u03CE', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FF6', '\u1F60', '\u1F61', '\u1FF3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FD2', '\u0390', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FD7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FE2', '\u03B0', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FE7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u03D3', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u03D4',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u04D0', '\u0000', '\u04D2',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0400', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u04D6', '\u0000', '\u0401',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u04C1', '\u0000', '\u04DC',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u040D', '\u0000', '\u0000', '\u0000', '\u04E2',
                                                                     '\u0419', '\u0000', '\u04E4',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u04EE',
                                                                     '\u040E', '\u0000', '\u04F0', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u04F2',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u04D1', '\u0000', '\u04D3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0450', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u04D7', '\u0000', '\u0451',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u04C2', '\u0000', '\u04DD',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u045D', '\u0000', '\u0000', '\u0000', '\u04E3',
                                                                     '\u0439', '\u0000', '\u04E5',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u04EF',
                                                                     '\u045E', '\u0000', '\u04F1', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u04F3',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0623',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0BCA', '\u0BCC',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0CC7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0D4A',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0DDA',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u1EAC', '\u0000', '\u0000',
                                                                     '\u1EB6',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u1EAD', '\u0000', '\u0000',
                                                                     '\u1EB7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F02', '\u1F04', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F06', '\u0000', '\u0000', '\u1F80',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F03', '\u1F05', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F07', '\u0000', '\u0000', '\u1F81',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F0A', '\u1F0C', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F0E', '\u0000', '\u0000', '\u1F88',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F0B', '\u1F0D', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F0F', '\u0000', '\u0000', '\u1F89',
                                                                 },
                                                             new[] {'\u1F12', '\u1F14',},
                                                             new[] {'\u1F13', '\u1F15',},
                                                             new[] {'\u1F1A', '\u1F1C',},
                                                             new[] {'\u1F1B', '\u1F1D',},
                                                             new[]
                                                                 {
                                                                     '\u1F22', '\u1F24', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F26', '\u0000', '\u0000', '\u1F90',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F23', '\u1F25', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F27', '\u0000', '\u0000', '\u1F91',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F2A', '\u1F2C', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F2E', '\u0000', '\u0000', '\u1F98',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F2B', '\u1F2D', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F2F', '\u0000', '\u0000', '\u1F99',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F32', '\u1F34', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F36',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F33', '\u1F35', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F37',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F3A', '\u1F3C', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F3E',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F3B', '\u1F3D', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F3F',
                                                                 },
                                                             new[] {'\u1F42', '\u1F44',},
                                                             new[] {'\u1F43', '\u1F45',},
                                                             new[] {'\u1F4A', '\u1F4C',},
                                                             new[] {'\u1F4B', '\u1F4D',},
                                                             new[]
                                                                 {
                                                                     '\u1F52', '\u1F54', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F56',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F53', '\u1F55', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F57',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F5B', '\u1F5D', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F5F',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F62', '\u1F64', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F66', '\u0000', '\u0000', '\u1FA0',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F63', '\u1F65', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F67', '\u0000', '\u0000', '\u1FA1',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F6A', '\u1F6C', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F6E', '\u0000', '\u0000', '\u1FA8',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1F6B', '\u1F6D', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1F6F', '\u0000', '\u0000', '\u1FA9',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FCD', '\u1FCE', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FCF',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u1FDD', '\u1FDE', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u1FDF',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u3070', '\u3071',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u3073', '\u3074',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u3076', '\u3077',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u3079', '\u307A',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u307C', '\u307D',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u30D0', '\u30D1',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u30D3', '\u30D4',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u30D6', '\u30D7',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u30D9', '\u30DA',
                                                                 },
                                                             new[]
                                                                 {
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u0000', '\u0000', '\u0000', '\u0000', '\u0000',
                                                                     '\u30DC', '\u30DD',
                                                                 },
                                                         };

        public static readonly char[,] singleFirst = new[,]
                                                         {
                                                             {'\u0338', '\u226E'},
                                                             {'\u0338', '\u2260'},
                                                             {'\u0338', '\u226F'},
                                                             {'\u0307', '\u1E1E'},
                                                             {'\u0302', '\u0134'},
                                                             {'\u0307', '\u1E1F'},
                                                             {'\u0304', '\u01DE'},
                                                             {'\u0301', '\u01FA'},
                                                             {'\u0301', '\u1E08'},
                                                             {'\u0301', '\u1E2E'},
                                                             {'\u0304', '\u022A'},
                                                             {'\u0301', '\u01FE'},
                                                             {'\u0304', '\u01DF'},
                                                             {'\u0301', '\u01FB'},
                                                             {'\u0301', '\u1E09'},
                                                             {'\u0301', '\u1E2F'},
                                                             {'\u0304', '\u022B'},
                                                             {'\u0301', '\u01FF'},
                                                             {'\u0307', '\u1E64'},
                                                             {'\u0307', '\u1E65'},
                                                             {'\u0307', '\u1E66'},
                                                             {'\u0307', '\u1E67'},
                                                             {'\u0301', '\u1E78'},
                                                             {'\u0301', '\u1E79'},
                                                             {'\u0308', '\u1E7A'},
                                                             {'\u0308', '\u1E7B'},
                                                             {'\u0307', '\u1E9B'},
                                                             {'\u030C', '\u01EE'},
                                                             {'\u0304', '\u01EC'},
                                                             {'\u0304', '\u01ED'},
                                                             {'\u0304', '\u01E0'},
                                                             {'\u0304', '\u01E1'},
                                                             {'\u0306', '\u1E1C'},
                                                             {'\u0306', '\u1E1D'},
                                                             {'\u0304', '\u0230'},
                                                             {'\u0304', '\u0231'},
                                                             {'\u030C', '\u01EF'},
                                                             {'\u0314', '\u1FEC'},
                                                             {'\u0345', '\u1FB4'},
                                                             {'\u0345', '\u1FC4'},
                                                             {'\u0345', '\u1FF4'},
                                                             {'\u0308', '\u0407'},
                                                             {'\u0301', '\u0403'},
                                                             {'\u0308', '\u04DE'},
                                                             {'\u0301', '\u040C'},
                                                             {'\u0308', '\u04E6'},
                                                             {'\u0308', '\u04F4'},
                                                             {'\u0308', '\u04F8'},
                                                             {'\u0308', '\u04EC'},
                                                             {'\u0301', '\u0453'},
                                                             {'\u0308', '\u04DF'},
                                                             {'\u0301', '\u045C'},
                                                             {'\u0308', '\u04E7'},
                                                             {'\u0308', '\u04F5'},
                                                             {'\u0308', '\u04F9'},
                                                             {'\u0308', '\u04ED'},
                                                             {'\u0308', '\u0457'},
                                                             {'\u030F', '\u0476'},
                                                             {'\u030F', '\u0477'},
                                                             {'\u0308', '\u04DA'},
                                                             {'\u0308', '\u04DB'},
                                                             {'\u0308', '\u04EA'},
                                                             {'\u0308', '\u04EB'},
                                                             {'\u0654', '\u0624'},
                                                             {'\u0654', '\u0626'},
                                                             {'\u0654', '\u06C2'},
                                                             {'\u0654', '\u06D3'},
                                                             {'\u0654', '\u06C0'},
                                                             {'\u093C', '\u0929'},
                                                             {'\u093C', '\u0931'},
                                                             {'\u093C', '\u0934'},
                                                             {'\u0BD7', '\u0B94'},
                                                             {'\u0BBE', '\u0BCB'},
                                                             {'\u0C56', '\u0C48'},
                                                             {'\u0CD5', '\u0CC0'},
                                                             {'\u0CD5', '\u0CCB'},
                                                             {'\u0D3E', '\u0D4B'},
                                                             {'\u0DCA', '\u0DDD'},
                                                             {'\u102E', '\u1026'},
                                                             {'\u0304', '\u1E38'},
                                                             {'\u0304', '\u1E39'},
                                                             {'\u0304', '\u1E5C'},
                                                             {'\u0304', '\u1E5D'},
                                                             {'\u0307', '\u1E68'},
                                                             {'\u0307', '\u1E69'},
                                                             {'\u0302', '\u1EC6'},
                                                             {'\u0302', '\u1EC7'},
                                                             {'\u0302', '\u1ED8'},
                                                             {'\u0302', '\u1ED9'},
                                                             {'\u0345', '\u1F82'},
                                                             {'\u0345', '\u1F83'},
                                                             {'\u0345', '\u1F84'},
                                                             {'\u0345', '\u1F85'},
                                                             {'\u0345', '\u1F86'},
                                                             {'\u0345', '\u1F87'},
                                                             {'\u0345', '\u1F8A'},
                                                             {'\u0345', '\u1F8B'},
                                                             {'\u0345', '\u1F8C'},
                                                             {'\u0345', '\u1F8D'},
                                                             {'\u0345', '\u1F8E'},
                                                             {'\u0345', '\u1F8F'},
                                                             {'\u0345', '\u1F92'},
                                                             {'\u0345', '\u1F93'},
                                                             {'\u0345', '\u1F94'},
                                                             {'\u0345', '\u1F95'},
                                                             {'\u0345', '\u1F96'},
                                                             {'\u0345', '\u1F97'},
                                                             {'\u0345', '\u1F9A'},
                                                             {'\u0345', '\u1F9B'},
                                                             {'\u0345', '\u1F9C'},
                                                             {'\u0345', '\u1F9D'},
                                                             {'\u0345', '\u1F9E'},
                                                             {'\u0345', '\u1F9F'},
                                                             {'\u0345', '\u1FA2'},
                                                             {'\u0345', '\u1FA3'},
                                                             {'\u0345', '\u1FA4'},
                                                             {'\u0345', '\u1FA5'},
                                                             {'\u0345', '\u1FA6'},
                                                             {'\u0345', '\u1FA7'},
                                                             {'\u0345', '\u1FAA'},
                                                             {'\u0345', '\u1FAB'},
                                                             {'\u0345', '\u1FAC'},
                                                             {'\u0345', '\u1FAD'},
                                                             {'\u0345', '\u1FAE'},
                                                             {'\u0345', '\u1FAF'},
                                                             {'\u0345', '\u1FB2'},
                                                             {'\u0345', '\u1FC2'},
                                                             {'\u0345', '\u1FF2'},
                                                             {'\u0345', '\u1FB7'},
                                                             {'\u0345', '\u1FC7'},
                                                             {'\u0345', '\u1FF7'},
                                                             {'\u0338', '\u219A'},
                                                             {'\u0338', '\u219B'},
                                                             {'\u0338', '\u21AE'},
                                                             {'\u0338', '\u21CD'},
                                                             {'\u0338', '\u21CF'},
                                                             {'\u0338', '\u21CE'},
                                                             {'\u0338', '\u2204'},
                                                             {'\u0338', '\u2209'},
                                                             {'\u0338', '\u220C'},
                                                             {'\u0338', '\u2224'},
                                                             {'\u0338', '\u2226'},
                                                             {'\u0338', '\u2241'},
                                                             {'\u0338', '\u2244'},
                                                             {'\u0338', '\u2247'},
                                                             {'\u0338', '\u2249'},
                                                             {'\u0338', '\u226D'},
                                                             {'\u0338', '\u2262'},
                                                             {'\u0338', '\u2270'},
                                                             {'\u0338', '\u2271'},
                                                             {'\u0338', '\u2274'},
                                                             {'\u0338', '\u2275'},
                                                             {'\u0338', '\u2278'},
                                                             {'\u0338', '\u2279'},
                                                             {'\u0338', '\u2280'},
                                                             {'\u0338', '\u2281'},
                                                             {'\u0338', '\u22E0'},
                                                             {'\u0338', '\u22E1'},
                                                             {'\u0338', '\u2284'},
                                                             {'\u0338', '\u2285'},
                                                             {'\u0338', '\u2288'},
                                                             {'\u0338', '\u2289'},
                                                             {'\u0338', '\u22E2'},
                                                             {'\u0338', '\u22E3'},
                                                             {'\u0338', '\u22AC'},
                                                             {'\u0338', '\u22AD'},
                                                             {'\u0338', '\u22AE'},
                                                             {'\u0338', '\u22AF'},
                                                             {'\u0338', '\u22EA'},
                                                             {'\u0338', '\u22EB'},
                                                             {'\u0338', '\u22EC'},
                                                             {'\u0338', '\u22ED'},
                                                             {'\u3099', '\u3094'},
                                                             {'\u3099', '\u304C'},
                                                             {'\u3099', '\u304E'},
                                                             {'\u3099', '\u3050'},
                                                             {'\u3099', '\u3052'},
                                                             {'\u3099', '\u3054'},
                                                             {'\u3099', '\u3056'},
                                                             {'\u3099', '\u3058'},
                                                             {'\u3099', '\u305A'},
                                                             {'\u3099', '\u305C'},
                                                             {'\u3099', '\u305E'},
                                                             {'\u3099', '\u3060'},
                                                             {'\u3099', '\u3062'},
                                                             {'\u3099', '\u3065'},
                                                             {'\u3099', '\u3067'},
                                                             {'\u3099', '\u3069'},
                                                             {'\u3099', '\u309E'},
                                                             {'\u3099', '\u30F4'},
                                                             {'\u3099', '\u30AC'},
                                                             {'\u3099', '\u30AE'},
                                                             {'\u3099', '\u30B0'},
                                                             {'\u3099', '\u30B2'},
                                                             {'\u3099', '\u30B4'},
                                                             {'\u3099', '\u30B6'},
                                                             {'\u3099', '\u30B8'},
                                                             {'\u3099', '\u30BA'},
                                                             {'\u3099', '\u30BC'},
                                                             {'\u3099', '\u30BE'},
                                                             {'\u3099', '\u30C0'},
                                                             {'\u3099', '\u30C2'},
                                                             {'\u3099', '\u30C5'},
                                                             {'\u3099', '\u30C7'},
                                                             {'\u3099', '\u30C9'},
                                                             {'\u3099', '\u30F7'},
                                                             {'\u3099', '\u30F8'},
                                                             {'\u3099', '\u30F9'},
                                                             {'\u3099', '\u30FA'},
                                                             {'\u3099', '\u30FE'},
                                                         };

        public static readonly char[,] singleSecond = new[,]
                                                          {
                                                              {'\u0627', '\u0622'},
                                                              {'\u0627', '\u0625'},
                                                              {'\u09C7', '\u09CB'},
                                                              {'\u09C7', '\u09CC'},
                                                              {'\u0B47', '\u0B4B'},
                                                              {'\u0B47', '\u0B48'},
                                                              {'\u0B47', '\u0B4C'},
                                                              {'\u0CC6', '\u0CCA'},
                                                              {'\u0CC6', '\u0CC8'},
                                                              {'\u0D46', '\u0D4C'},
                                                              {'\u0DD9', '\u0DDC'},
                                                              {'\u0DD9', '\u0DDE'},
                                                          };

        public static readonly int multiSecondStart = 144;
        public static readonly int singleFirstStart = 181;
        public static readonly int singleSecondStart = 391;

        public static readonly int[] composePage = new[]
                                                       {
                                                           0,
                                                           1,
                                                           2,
                                                           3,
                                                           4,
                                                           -1,
                                                           5,
                                                           -1,
                                                           -1,
                                                           6,
                                                           -1,
                                                           7,
                                                           8,
                                                           9,
                                                           -1,
                                                           -1,
                                                           10,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           11,
                                                           12,
                                                           -1,
                                                           13,
                                                           14,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           -1,
                                                           15,
                                                           -1,
                                                       };

        public static readonly int[,] composeData = new[,]
                                                        {
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, 182
                                                                , 183, -1,
                                                                -1, 0, 1, 2, 3, 4, 184, 5, 6, 7, 185, 8, 9, 10, 11, 12,
                                                                13, -1, 14, 15, 16, 17, 18, 19, 20, 21, 22, -1, -1, -1,
                                                                -1, -1,
                                                                -1, 23, 24, 25, 26, 27, 186, 28, 29, 30, 31, 32, 33, 34,
                                                                35, 36,
                                                                37, -1, 38, 39, 40, 41, 42, 43, 44, 45, 46, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, 48, -1, 187, 188, 49, 189, -1, -1, 50, -1, -1,
                                                                -1, -1, 190,
                                                                -1, -1, -1, -1, 51, 52, 191, -1, 192, -1, -1, -1, 53, -1
                                                                , -1, -1,
                                                                -1, -1, 54, -1, 193, 194, 55, 195, -1, -1, 56, -1, -1,
                                                                -1, -1, 196,
                                                                -1, -1, -1, -1, 57, 58, 197, -1, 198, -1, -1, -1, 59, -1
                                                                , -1, -1,
                                                            },
                                                            {
                                                                -1, -1, 60, 61, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, 62, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 64, 65,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 199, 200, -1, -1
                                                                , -1, -1,
                                                                201, 202, -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, -1
                                                                , -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, 207,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                66, 67, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, 68,
                                                                69, -1, -1, -1, -1, -1, -1, 208, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, 210, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 211, 212, 213, 214, -1, -1, -1,
                                                                -1, 215, 216,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                144, 145, 146, 147, 148, -1, 149, 150, 151, 152, 153,
                                                                165, 154, -1, -1, 155,
                                                                -1, 156, -1, 170, 171, -1, -1, -1, -1, -1, -1, 166, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, 157, 168, 158, 167, 161, 159, -1, -1, -1, -1
                                                                , 162, 164, -1,
                                                                163, 160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, 169, -1, -1, 172, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, 70, -1, -1, -1, 71, -1, 72, -1, 73, -1, -1, -1, -1,
                                                                -1, 74,
                                                                -1, 218, -1, -1, -1, 75, -1, -1, -1, 76, -1, -1, 219, -1
                                                                , 220, -1,
                                                                -1, 77, -1, -1, -1, 78, -1, 79, -1, 80, -1, -1, -1, -1,
                                                                -1, 81,
                                                                -1, 82, -1, -1, -1, 83, -1, -1, -1, 84, 85, 86, -1, -1,
                                                                221, -1,
                                                                -1, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, 222, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                88, -1, -1, 223, -1, 89, 90, 224, 91, -1, 225, -1, -1,
                                                                -1, 226, -1,
                                                                -1, -1, -1, 92, -1, -1, -1, 227, -1, -1, -1, 228, -1,
                                                                229, -1, -1,
                                                                93, -1, -1, 230, -1, 94, 95, 231, 96, -1, 232, -1, -1,
                                                                -1, 233, -1,
                                                                -1, -1, -1, 97, -1, -1, -1, 234, -1, -1, -1, 235, -1,
                                                                236, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, 238, 239, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, 240, 241, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, 242, 243, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, 244, -1, 245, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, 391, 173, 392, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, 247, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, 249, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                250, -1, -1, 251, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                393, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, 394, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                395, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 396, 397, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, 252, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                174, -1,
                                                                -1, -1, -1, -1, -1, -1, 99, 253, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, 175, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 254, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, 255,
                                                                -1, -1, 398, -1, -1, -1, 100, -1, -1, -1, 256, -1, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, 176, 399, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                177, -1,
                                                                -1, -1, -1, -1, -1, -1, 101, 257, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -1, -1, -1,
                                                                -1, 401,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, -1, 258, -1
                                                                , -1, 402,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, 259, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 260, 261, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, 263, -1, -1
                                                                , -1, -1,
                                                                -1, -1, 264, 265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                103, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 268, 269
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                105, 106, 270, 271, 272, 273, 274, 275, 107, 108, 276,
                                                                277, 278, 279, 280, 281,
                                                                109, 110, -1, -1, -1, -1, -1, -1, 111, 112, -1, -1, -1,
                                                                -1, -1, -1,
                                                                113, 114, 282, 283, 284, 285, 286, 287, 115, 116, 288,
                                                                289, 290, 291, 292, 293,
                                                                117, 118, -1, -1, -1, -1, -1, -1, 119, 120, -1, -1, -1,
                                                                -1, -1, -1,
                                                                121, 122, -1, -1, -1, -1, -1, -1, 123, 124, -1, -1, -1,
                                                                -1, -1, -1,
                                                                125, 126, -1, -1, -1, -1, -1, -1, -1, 127, -1, -1, -1,
                                                                -1, -1, -1,
                                                                128, 129, 294, 295, 296, 297, 298, 299, 130, 131, 300,
                                                                301, 302, 303, 304, 305,
                                                                306, -1, -1, -1, 307, -1, -1, -1, -1, -1, -1, -1, 308,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 309, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, 132,
                                                                -1, -1, -1, -1, -1, -1, 310, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 311, -1, -1, -1, -1, -1, -1, -1,
                                                                133, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                312, -1, 313, -1, 314, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                315, -1, 316, -1, 317, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, 318, -1, -1, -1, -1, 319, -1, -1, 320, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, 321, -1, 322, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, -1,
                                                                -1, -1,
                                                                -1, -1, -1, 324, -1, 325, -1, -1, 326, -1, -1, -1, -1,
                                                                327, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, 328, -1, -1, 329, 330, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1, -1,
                                                                -1, -1, 331, 332, -1, -1, 333, 334, -1, -1, 335, 336,
                                                                337, 338, -1, -1,
                                                                -1, -1, 339, 340, -1, -1, 341, 342, -1, -1, -1, -1, -1,
                                                                -1, -1, -1,
                                                                -1, 343, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
                                                                , -1, -1,
                                                                -1, -1, 345, -1, -1, -1, -1, -1, 346, 347, -1, 348, -1,
                                                                -1, -1, -1,
                                                                -1, -1, 349, 350, 351, 352, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                            },
                                                            {
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 353, -1, -1, -1, -1, 354, -1,
                                                                355, -1, 356,
                                                                -1, 357, -1, 358, -1, 359, -1, 360, -1, 361, -1, 362, -1
                                                                , 363, -1, 364,
                                                                -1, 365, -1, -1, 366, -1, 367, -1, 368, -1, -1, -1, -1,
                                                                -1, -1, 134,
                                                                -1, -1, 135, -1, -1, 136, -1, -1, 137, -1, -1, 138, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, 180, -1, -1,
                                                                369, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, 370, -1, -1, -1, -1, 371, -1,
                                                                372, -1, 373,
                                                                -1, 374, -1, 375, -1, 376, -1, 377, -1, 378, -1, 379, -1
                                                                , 380, -1, 381,
                                                                -1, 382, -1, -1, 383, -1, 384, -1, 385, -1, -1, -1, -1,
                                                                -1, -1, 139,
                                                                -1, -1, 140, -1, -1, 141, -1, -1, 142, -1, -1, 143, -1,
                                                                -1, -1, -1,
                                                                -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                -1, 386,
                                                                387, 388, 389, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
                                                                390, -1, -1,
                                                            },
                                                        };
    }
}